package model
{
	import flash.media.Sound;

	public class xmlHandler
	{
		public function xmlHandler()
		{
			//XML einlesen und als Variable speichern
			
		}
		
		/**
		 * Wählt aus den Fragen eines Levels zufällig eine Frage aus und gibt diese als
		 * Question-Objekt (bereits mit Sounddatei und Produkten) zurück.
		 */
		public function getQuestionToLevel(level:uint):Question
		{
			var questionID:String;
			//ID abfragen
			var question:Question = new Question(level);
			question.setQuestionID(questionID);
			
			var questionSound:Sound = this.getQuestionSound(questionID);
			question.setQuestionSound(questionSound);
			
			var rightObjects:Array = this.getRightProducts(questionID);
			question.setRightProducts(rightObjects);
			
			var wrongObjects:Array = this.getWrongProducts(questionID);
			question.setWrongProducts(wrongObjects);
			
			return Question;
		}
		
		private function getQuestionSound(questionID:String):Sound{
			private var questionSound:Sound = new Sound();
			// Sourcedatei abfragen und speichern
			return questionSound;
		}
		
		/**
		 * Wählt aus den richtigen Produkten zu einer Frage zufällig 5 Produkte aus und gibt diese als
		 * Product-Objekte in einem Array zurück 
		 */
		private function getRightProducts(questionID:String):Array
		{
			private var rightProducts:Array = new Array();
			for (i:int = 1; i++; i<=5)
			{
				//Alle Produkte abfragen, davon 5 zufällig wählen
				//Produkt-Objekte anlegen und mit Daten bestücken
				var id:String;
				var picPath:String;
				var nameSoundPath:String;
				var explanationSoundPath:String;
				
				var product:Product = new Product(id, picPath, nameSoundPath, explanationSoundPath);
				rightProducts.push(product);
			}
			return rightProducts;
		}
		
		/**
		 * Wählt aus den falschen Produkten zu einer Frage zufällig 10 Produkte aus und gibt diese als
		 * Product-Objekte in einem Array zurück 
		 */
		private function getWrongProducts(questionID:String):Array
		{
			private var wrongProducts:Array = new Array();
			for (i:int = 1; i++; i<=10)
			{
				//Alle Produkte abfragen, davon 10 zufällig wählen
				//Produkt-Objekte anlegen und mit Daten bestücken
				var id:String;
				var picPath:String;
				var nameSoundPath:String;
				var explanationSoundPath:String;
				
				var product:Product = new Product(id, picPath, nameSoundPath, explanationSoundPath);
				rightProducts.push(product);
			}
			return wrongProducts;
		}
	}
}